package com.tao.content.domain.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 课程发布
 * </p>
 *
 * @author taohongrun
 * @since 2024-10-31
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("course_publish")
@Schema(description="课程发布")
public class CoursePublish implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @Schema(description = "机构ID")
    private Long companyId;

    @Schema(description = "公司名称")
    private String companyName;

    @Schema(description = "课程名称")
    private String name;

    @Schema(description = "适用人群")
    private String users;

    @Schema(description = "标签")
    private String tags;

    @Schema(description = "创建人")
    private String username;

    @Schema(description = "大分类")
    private String mt;

    @Schema(description = "大分类名称")
    private String mtName;

    @Schema(description = "小分类")
    private String st;

    @Schema(description = "小分类名称")
    private String stName;

    @Schema(description = "课程等级")
    private String grade;

    @Schema(description = "教育模式")
    private String teachmode;

    @Schema(description = "课程图片")
    private String pic;

    @Schema(description = "课程介绍")
    private String description;

    @Schema(description = "课程营销信息，json格式")
    private String market;

    @Schema(description = "所有课程计划，json格式")
    private String teachplan;

    @Schema(description = "教师信息，json格式")
    private String teachers;

    @Schema(description = "发布时间")
    private LocalDateTime createDate;

    @Schema(description = "上架时间")
    private LocalDateTime onlineDate;

    @Schema(description = "下架时间")
    private LocalDateTime offlineDate;

    @Schema(description = "发布状态")
    private String status;

    @Schema(description = "备注")
    private String remark;

    @Schema(description= "收费规则，对应数据字典--203")
    private String charge;

    @Schema(description = "现价")
    private Float price;

    @Schema(description = "原价")
    private Float originalPrice;

    @Schema(description = "课程有效期天数")
    private Integer validDays;


}
